<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title></title>
		
	</head>
	<body>
		<div>
			
		</div>
		<script>
//			{
//			  let a = 10;
//			  var b = 1;
//			}
//			console.log(b);
////			console.log(a);
//
//			for (let i = 0; i < 10; i++) {
//			  console.log(i);
//			}
////			console.log(i); 局部变量在外部访问不了；
//			
//			
//			var a = [];
//			for (var i = 0; i < 10; i++) {
//			  a[i] = function () {
//			    console.log(i);
//			  };
//			}
//			a[3](); // 10
//			
//			
//			var a = [];
//			for (let i = 0; i < 10; i++) {
//			  a[i] = function () {
//			    console.log(i);
//			  };
//			}
//			a[6](); // 6
//			
//			
//			for (let i = 0; i < 3; i++) {
//			  let i = 'abc';
//			  console.log(i);
//			}
//			
//			// var 的情况
////			console.log(foo); // 输出undefined
////			var foo = 2;
////			
////			// let 的情况
////			console.log(bar); // 报错ReferenceError
////			let bar = 2;
//			
//			
////			var tmp = 123;
////
////			if (true) {
////			  tmp = 'abc'; // ReferenceError
////			  let tmp;
////			}
//			
//			
//			if (true) {
//			  // TDZ开始
////			  tmp = 'abc'; // ReferenceError
////			  console.log(tmp); // ReferenceError
//			
//			  let tmp; // TDZ结束
//			  console.log(tmp); // undefined
//			
//			  tmp = 123;
//			  console.log(tmp); // 123
//			}
//			
//			function bar(x = 2, y = x) {
////				console.log(x,y)
//			  return [x, y];
//			 
//			}
//			bar(); // [2, 2]
//			
////			function bar(x = y, y = 2) {
////			  return [x, y];
////			}
////			bar(); // [2, 2]
//			
//			var tmp = new Date();
//
//			function f() {
//			  console.log(tmp);
//			  if (false) {
//			    var tmp = 'hello world';
//			  }
//			}
//			
//			f(); // undefined
//			
//			var s = 'hello';
//				s=["hello","world","good"]
//			for (var i = 0; i < s.length; i++) {
//			  console.log(s[i]);
//			}
//			
//			console.log(i); //3
//			
//			
//			function ff(){
//				let n=8;
//				if(true){
//				   let 	n=10;
//				}
//				console.log(n)//8 
//			}
//			
//			ff();
//			
////			(function () {
////			  var tmp = ...;
////			  ...
////			}());
////			
////			// 块级作用域写法
////			{
////			  let tmp = ...;
////			  ...
////			}
//			
//			function f() { console.log('I am outside!'); }
//
//			(function () {
////				function f() { console.log('I am outside!'); }
//			  if (true) {
//			    // 重复声明一次函数f
//			    function f() { console.log('I am inside!'); }
//			  }
//			
//			  f();
//			}());
//			
//			
////			function f() { console.log('I am outside!'); }
////			(function () {
////			  var f = undefined;
////			  if (false) {
////			    function f() { console.log('I am inside!'); }
////			  }
////			
////			  f();
////			}());
//			
//			
////			var message = "Hello!";
////			let age = 25;
////			
////			// 以下两行都会报错
////			const message = "Goodbye!";
////			const age = 30;
////			本质
			
			
//			let a=1;
//			let b=2;
//			let c=3;
//			console.log(a,b,c);
			
//			let [a,b,[c,d,e]]=[1,3,[,,7],3,3,3];
//			console.log(a,b,c,e);
//			
//			let [head, ...tail] = [1, 2, 3, 4];
//			console.log(...tail)
//			
//			
//			let [x, y, ...z] = ['a'];
//			
//			console.log(x,y,z);
			
			
//			function *fibs() {
//			  let a = 0;
//			  let b = 1;
//			  while (true) {
//			    yield a;
//			    [a, b] = [b, a + b];
//			  }
//			}
//			
//			let [first, second, third, fourth, fifth, sixth] = fibs();
//			sixth // 5
//			
//			console.log(first, second, third, fourth, fifth, sixth);
			
			
			
			
//			let x = 1;
//			let y = 2;
//			
//			[x, y] = [y, x];
//			
//			console.log(x,y);

//			function example() {
//			  return [1, 2, 3];
//			}
//			let [a, b, c] = example();
//			console.log(a,b,c);
//			
			// 返回一个对象
			
//			function example() {
//			  return {
//			    foo: 1,
//			    bar: 2
//			  };
//			}
//			let { foo, bar } = example();
//			
//			console.log(foo, bar);

			let jsonData = {
			  id: 42,
			  status: "OK",
			  data: [867, 5309]
			};
			
			let { id, status, data: number } = jsonData;
			
			console.log(id, status, number);
			
			const map = new Map();
			map.set('first', 'hello');
			map.set('second', 'world');
			
			for (let [key, value] of map) {
			  console.log(key + " is " + value);
			}
			
			
			const st=new Set();
			var srr=[2,3,4,5454,54542,2,2,23];
			srr.forEach(o=>st.add(o));
			console.log(st)
			const arr=[];
			for( let i of st){
			 arr.push(i);
			}
			
			console.log(arr.sort());
		</script>
		<script type="text/javascript" src="js/jquery-2.2.4.min.js" ></script>
	</body>
</html>
